home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / ColorSync™ 1.0.5 / Interfaces / RIncludes / CMApplication.r
Encoding:
Text File  |  1994-04-11  |  2.8 KB  |  127 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        CMApplication.r
  3.  
  4.     Contains:    Header for Color Matching aware applications
  5.  
  6.     Copyright:    © 1993-94 by Apple Computer, Inc., all rights reserved.
  7.  
  8. */
  9.  
  10. #ifndef __CMAPPLICATION.R__
  11. #define __CMAPPLICATION.R__
  12.  
  13. #ifndef __SYSTYPES.R__
  14. #include "SysTypes.r"
  15. #endif
  16.  
  17. /* Number of values in response.counts */
  18. #define    onePlusLastResponse        9
  19.  
  20. /* Profile Header version */
  21. #define    kCMApplProfileVersion    0x0100
  22.  
  23.  
  24. type 'prof'
  25. {
  26.     startOfProfile:
  27.  
  28.     header:
  29.         unsigned longint = (endOfProfile - startOfProfile) >> 3;    /* size */
  30.         literal longint;                                            /* CMMType */
  31.         hex longint = kCMApplProfileVersion;                        /* applProfileVersion */
  32.         literal longint     rgbData            = 'RGB ',                /* dataType */
  33.                             cmykData        = 'CMYK',
  34.                             grayData        = 'GRAY',
  35.                             xyzData            = 'XYZ ';
  36.  
  37.         literal longint        monitorDevice    = 'mntr',                /* deviceType */
  38.                             scannerDevice    = 'scnr',
  39.                             printerDevice    = 'prtr',
  40.                             qdSystemDevice    = 'sys ',
  41.                             qdGDevice        = 'gdev';
  42.         literal longint;                                            /* deviceManufacturer */
  43.         hex longint;                                                /* deviceModel */
  44.         array[2]                                                    /* deviceAttributes */
  45.         {
  46.             hex longint;
  47.         };
  48.  
  49.         unsigned longint = (profileName - startOfProfile) >> 3;        /* profileNameOffset */
  50.         unsigned longint = (endOfProfile - startOfProfile) >> 3;    /* customDataOffset */
  51.  
  52.         unsigned hex longint;                                        /* flags */
  53.         unsigned hex longint;                                        /* options */
  54.  
  55.         wide array[3]                                                /* white (XYZColor) */
  56.         {
  57.             unsigned hex integer;
  58.         };
  59.         wide array[3]                                                /* black (XYZColor) */
  60.         {
  61.             unsigned hex integer;
  62.         };
  63.  
  64.     profile:        
  65.         array[6]
  66.         {                                                            /* RGBCMY (XYZColor) */
  67.             wide array[3]
  68.             {
  69.                 unsigned hex integer;
  70.             };
  71.         };
  72.  
  73.     response:
  74.         wide array[onePlusLastResponse]                                /* response.counts */
  75.         {
  76.             responseCounts:        
  77.             unsigned integer;
  78.         };
  79.                                                                     /* response.data */
  80.  
  81.         wide array[$$Word(responseCounts[1])]                        /* grayResponse */
  82.         {
  83.             unsigned integer;
  84.         };
  85.         wide array[$$Word(responseCounts[2])]                        /* redResponse */
  86.         {
  87.             unsigned integer;
  88.         };
  89.         wide array[$$Word(responseCounts[3])]                        /* greenResponse */
  90.         {
  91.             unsigned integer;
  92.         };
  93.         wide array[$$Word(responseCounts[4])]                        /* blueResponse */
  94.         {
  95.             unsigned integer;
  96.         };
  97.         wide array[$$Word(responseCounts[5])]                        /* cyanResponse */
  98.         {
  99.             unsigned integer;
  100.         };
  101.         wide array[$$Word(responseCounts[6])]                        /* magentaResponse */
  102.         {
  103.             unsigned integer;
  104.         };
  105.         wide array[$$Word(responseCounts[7])]                        /* yellowResponse */
  106.         {
  107.             unsigned integer;
  108.         };
  109.         wide array[$$Word(responseCounts[8])]                        /* ucrResponse */
  110.         {
  111.             unsigned integer;
  112.         };
  113.         wide array[$$Word(responseCounts[9])]                        /* bgResponse */
  114.         {
  115.             unsigned integer;
  116.         };        
  117.         
  118.     profileName:
  119.         integer Script;                                                /* theScript */
  120.         pstring;                                                    /* theString (Str63) */
  121.         
  122.          align word;                                                    /* pad byte if name size is odd */
  123.         
  124.     endOfProfile:
  125. };
  126.  
  127. #endif